import fs from 'fs';
import json from 'comment-json';

const parse = (content) => json.parse(content, null, true);

const pkg = parse(fs.readFileSync('package.json', 'utf-8'));

const config = {
	parse,
	env: process.env.NODE_ENV || 'development',
	banner:
	`/*
	 * author  : ${pkg.author}
	 * email   : ${pkg.email}
	*/
	`,

	scopes: [
		'common', // 公共模块
		'my', // 用户模块
		'index' // 首页模块
	],

	// ----------------------------------
	// Project Structure
	// ----------------------------------
	src_assets: 'src/assets', // 其他资源路径
	src_styles: 'src/less', // Less 文件路径
	src_html: 'src/html', // Html 静态模板路径
	src_js: 'src/js', // Js 文件路径
	src_bower: parse(fs.readFileSync('.bowerrc', 'utf-8')).directory, // bower 目录
	src_libs: 'libs', // 资源目录

	dist_root: 'dist', // 发布目录
	dist_assets: 'dist/assets', // 静态页面 静态资源发布目录
	dist_css: 'dist/assets/css', // CSS 发布目录
	dist_html: 'dist', // HTML 发布目录
	dist_js: 'dist/assets/js', // JS 发布目录


	formal_assets: '../assets',  // 正式 静态资源发布目录
	formal_css: '../assets/css/',  // 正式 静态资源发布目录


	tmp_root: '.tmp', // 临时目录
	tmp_rev: '.tmp/rev', // rev 临时文件目录
	tmp_js: '.tmp/js', // js 临时文件目录
	tmp_css: '.tmp/css', // css 临时文件目录

	// ----------------------------------
	// Server Configuration
	// ----------------------------------
	server_host: 'localhost',
	server_port: process.env.PORT || 3000,
	server_index: '/index.html',

	// ----------------------------------
	// Compiler Configuration
	// ----------------------------------
	compile_rev: false, // 是否启动 revison 版本控制
	compile_eslint: false, // 是否开启 eslint 检查
	compile_html_minify: false, // 是否开启压缩 html
	compile_css_minify: false, // 是否开启压缩 CSS
	complie_css_map: false, // 是否生成 CSS source map
	complie_js_minify: false, // 是否开启压缩 JS
	complie_js_map: false // 是否生成 JS source map
};

// ------------------------------------
// Environment
// ------------------------------------
config.globals = {
	'process.env.NODE_ENV': JSON.stringify(config.env),
	__ENV__: 'dev',
	__DEV__: config.env === 'development',
	__PROD__: config.env === 'production',
	__TEST__: config.env === 'test',
	__DEBUG__: config.env === 'development',
	__DEBUG_NEW_WINDOW__: false,
	__BASENAME__: JSON.stringify(process.env.BASENAME || '')
};

//git deploy 绑定自己的 github 账户仓库
config.deploy = {
	repository:"https://github.com/zhongqiang1839/zhongqiang1839.github.io.git",
	branch:"master",
	base_dir:__dirname,
	public_dir:"",
	email:"zhongqiang1839@163.com"
}


if (config.env === 'production') {
	config.globals.__ENV__ = 'prod';
} else if (config.env === 'test') {
	config.globals.__ENV__ = 'test';
}

// ----------------------------------
// EJS
// ----------------------------------
config.ejs = {}; // EJS 变量
config.ejs.options = Object.assign({}, config.globals, {
	imgx: 'http://ued.dev.fn.com:8080/imgx'
});

export default config;
